package pers.zh.parking.di.component;

import dagger.BindsInstance;
import dagger.Component;

import com.jess.arms.di.component.AppComponent;

import pers.zh.parking.di.module.UserModule;
import pers.zh.parking.mvp.contract.UserContract;

import com.jess.arms.di.scope.ActivityScope;

import pers.zh.parking.mvp.ui.activity.UserActivity;

@ActivityScope
@Component(modules = UserModule.class, dependencies = AppComponent.class)
public interface UserComponent {

    void inject(UserActivity activity);

    @Component.Builder
    interface Builder {

        @BindsInstance
        UserComponent.Builder view(UserContract.View view);

        UserComponent.Builder appComponent(AppComponent appComponent);

        UserComponent build();
    }
}